/** @format */

import { AppRegistry } from 'react-native';
import { appname } from './application/config/common.json';
import React, {
  Component,
} from 'react';
import { Provider } from 'react-redux';

import {AppWithNavigationState, middleware} from './application/routes';

import configureStore from './application/routes/configureStore';

class App extends Component {
  constructor(props) {
    super(props);
    global.uid = this.props.account;
    global.token = this.props.token;
    global.model = this.props.model;
    global.rversion = this.props.rversion;
    global.vendor = this.props.vendor;
    global.mac = this.props.mac;
    global.ip = this.props.ip;
    global.imei = this.props.imei;
    global.oversion = this.props.oversion;
    global.channel = this.props.channel;
    this.state = {
      store: configureStore({}, middleware)
    }
  }

  render() {
    return (
      <Provider store={this.state.store}>
        <AppWithNavigationState />
      </Provider>
    )
  }
}

AppRegistry.registerComponent(appname, () => App);
